home *** CD-ROM | disk | FTP | other *** search
- import java.io.DataInputStream;
- import java.util.Date;
-
- class CVariable {
- public static final String[] DateFormats = new String[]{"Custom", "%d/%m/%y", "%d-%b-%y", "%d-%B-%y", "%A %d %B %y", "%I:%M %p", "%I:%M:%S", null};
- public static final String[] TimeSpanFormats = new String[]{"Custom", "%H:%M:%S", "%M:%S", null};
- public static final String[] DateSymbols = new String[]{"%A", "%d", "%m", "%b", "%B", "%y", "%I", "%H", "%M", "%S"};
- public static final int nSymbolCount = 10;
- protected int m_nFlags = 0;
- protected String m_strName = "";
- protected String m_strValue = "";
- protected double m_dValue = (double)0.0F;
- protected byte m_cDecPlaces = 0;
- protected long m_lValue = 0L;
- protected Date m_dateValue = null;
- protected Date m_timeSpanValue = null;
- protected String m_strFormat = "";
- protected byte m_cFormat = 0;
- protected char m_nID = 0;
- protected CRecordSetData m_pRecordSetData;
-
- void SetName(String var1) {
- this.m_strName = var1;
- this.CreateHashValue();
- }
-
- boolean LoadFromFile(DataInputStream var1) {
- FileLoad.ReadClass(var1);
- byte var2 = 0;
-
- try {
- this.m_strName = FileLoad.ReadCString(var1);
- this.m_cDecPlaces = var1.readByte();
- this.m_nFlags = FileLoad.ReadCPlusInt(var1);
- this.m_nID = (char)FileLoad.ReadCPlusInt(var1);
- this.m_cFormat = var1.readByte();
- this.m_strFormat = FileLoad.ReadCString(var1);
- var2 = var1.readByte();
- } catch (Exception var5) {
- System.out.println(((Throwable)var5).getMessage());
- return false;
- }
-
- if (var2 > 0) {
- this.m_pRecordSetData = new CRecordSetData();
- this.m_pRecordSetData.LoadFromFile(var1);
- }
-
- return true;
- }
-
- CVariable Plus(CVariable var1) {
- this.m_nFlags &= -32513;
- if ((var1.m_nFlags & 256) != 0) {
- this.m_nFlags |= 256;
- String var10001 = this.m_strValue;
- this.m_strValue = var10001 + var1.m_strValue;
- } else if ((var1.m_nFlags & 512) != 0) {
- this.m_nFlags |= 512;
- this.m_dValue += var1.m_dValue;
- } else if ((var1.m_nFlags & 1024) != 0) {
- this.m_nFlags |= 1024;
- this.m_lValue += var1.m_lValue;
- } else if ((var1.m_nFlags & 2048) != 0) {
- this.m_nFlags |= 2048;
- } else if ((var1.m_nFlags & 4096) != 0) {
- this.m_nFlags |= 4096;
- }
-
- return this;
- }
-
- CVariable Minus(CVariable var1) {
- this.m_nFlags &= -32513;
- if ((var1.m_nFlags & 512) != 0) {
- this.m_nFlags |= 512;
- this.m_dValue -= var1.m_dValue;
- } else if ((var1.m_nFlags & 1024) != 0) {
- this.m_nFlags |= 1024;
- this.m_lValue -= var1.m_lValue;
- } else if ((var1.m_nFlags & 2048) != 0) {
- this.m_nFlags |= 2048;
- } else if ((var1.m_nFlags & 4096) != 0) {
- this.m_nFlags |= 4096;
- }
-
- return this;
- }
-
- boolean Equals(CVariable var1) {
- boolean var2 = false;
- if ((var1.m_nFlags & 256) != 0) {
- var2 = this.m_strValue.equals(var1.m_strValue);
- } else if ((var1.m_nFlags & 512) != 0) {
- byte var3 = (byte)Math.max(this.m_cDecPlaces, var1.m_cDecPlaces);
- if (var3 == 0) {
- var3 = 4;
- }
-
- var2 = (long)(this.m_dValue * (double)(10 * var3)) == (long)(var1.m_dValue * (double)(10 * var3));
- } else if ((var1.m_nFlags & 1024) != 0) {
- var2 = this.m_lValue == var1.m_lValue;
- } else if ((var1.m_nFlags & 2048) != 0) {
- var2 = this.m_dateValue == var1.m_dateValue;
- } else if ((var1.m_nFlags & 4096) != 0) {
- var2 = this.m_timeSpanValue == var1.m_timeSpanValue;
- }
-
- return var2;
- }
-
- int GetFlags() {
- return this.m_nFlags;
- }
-
- String GetName() {
- return this.m_strName;
- }
-
- void Copy(CVariable var1) {
- this.m_nID = (char)var1.GetID();
- this.m_nFlags = var1.m_nFlags;
- this.m_strName = var1.m_strName;
- this.m_strValue = var1.m_strValue;
- this.m_dValue = var1.m_dValue;
- this.m_lValue = var1.m_lValue;
- this.m_dateValue = var1.m_dateValue;
- this.m_timeSpanValue = var1.m_timeSpanValue;
- this.m_cDecPlaces = var1.m_cDecPlaces;
- this.m_strFormat = var1.m_strFormat;
- this.m_cFormat = var1.m_cFormat;
- }
-
- CVariable DividedBy(CVariable var1) {
- this.m_nFlags &= -32513;
- if ((var1.m_nFlags & 512) != 0) {
- this.m_nFlags |= 512;
- if (var1.m_dValue != (double)0.0F) {
- this.m_dValue /= var1.m_dValue;
- }
- } else if ((var1.m_nFlags & 1024) != 0) {
- this.m_nFlags |= 1024;
- if (var1.m_lValue != 0L) {
- this.m_lValue /= var1.m_lValue;
- }
- }
-
- return this;
- }
-
- int IsBinaryType() {
- return this.m_nFlags & 16384;
- }
-
- double GetNumericValue() {
- return this.m_dValue;
- }
-
- long GetIntegerValue() {
- return this.m_lValue;
- }
-
- void SetValue(String var1) {
- this.m_strValue = var1;
- }
-
- void SetValue(double var1) {
- this.m_dValue = var1;
- }
-
- void SetValue(long var1) {
- this.m_lValue = var1;
- }
-
- void SetValue(int var1) {
- this.m_lValue = (long)var1;
- }
-
- void SetValue(Date var1) {
- this.m_dateValue = var1;
- }
-
- boolean IsLessThan(CVariable var1) {
- boolean var2 = false;
- if ((var1.m_nFlags & 256) != 0) {
- var2 = this.m_strValue.length() < var1.m_strValue.length();
- } else if ((var1.m_nFlags & 512) != 0) {
- var2 = this.m_dValue < var1.m_dValue;
- } else if ((var1.m_nFlags & 1024) != 0) {
- var2 = this.m_lValue < var1.m_lValue;
- } else if ((var1.m_nFlags & 2048) == 0 && (var1.m_nFlags & 4096) != 0) {
- }
-
- return var2;
- }
-
- int IsRecordSetField() {
- return this.m_nFlags & 8;
- }
-
- int IsNumericType() {
- return this.m_nFlags & 512;
- }
-
- int IsIntegerType() {
- return this.m_nFlags & 1024;
- }
-
- int IsTimeSpanType() {
- return this.m_nFlags & 4096;
- }
-
- int IsRecordSetType() {
- return this.m_nFlags & 8192;
- }
-
- CVariable MultipliedBy(CVariable var1) {
- this.m_nFlags &= -32513;
- if ((var1.m_nFlags & 512) != 0) {
- this.m_nFlags |= 512;
- this.m_dValue *= var1.m_dValue;
- } else if ((var1.m_nFlags & 1024) != 0) {
- this.m_nFlags |= 1024;
- this.m_lValue *= var1.m_lValue;
- }
-
- return this;
- }
-
- String GetDateFormat(byte var1, String var2) {
- String var3 = "";
- if (var1 == 0) {
- if (var2.length() != 0) {
- var3 = this.InsertDateValues(var2);
- } else {
- var3 = DateFormats[0];
- }
- } else if (var1 > 0 && var1 < 7) {
- var3 = this.InsertDateValues(DateFormats[var1]);
- }
-
- return var3;
- }
-
- int CreateHashValue() {
- this.m_nID = 0;
- if (this.m_strName.length() > 0) {
- String var1 = this.m_strName;
- int var2 = this.m_strName.length();
-
- for(int var3 = 0; var3 < var2; ++var3) {
- this.m_nID = (char)((this.m_nID << 5) + this.m_nID + var1.charAt(var3));
- }
- }
-
- return this.m_nID;
- }
-
- int IsGlobal() {
- return this.m_nFlags & 2;
- }
-
- String GetNumericValueAsString() {
- String var1 = null;
- if (this.IsNumericType() != 0) {
- var1 = Double.toString(this.GetNumericValue());
- int var2 = var1.indexOf(46);
- if (var2 == -1) {
- if (this.m_cDecPlaces > 0) {
- var1 = var1 + ".";
- var1 = this.Pad(var1, this.m_cDecPlaces);
- }
- } else {
- int var3 = var1.length() - (var2 + 1);
- if (this.m_cDecPlaces == 0) {
- var1 = var1.substring(0, var2);
- } else if (var3 > this.m_cDecPlaces) {
- var1 = var1.substring(0, var2 + this.m_cDecPlaces + 1);
- } else if (var3 < this.m_cDecPlaces) {
- var1 = this.Pad(var1, this.m_cDecPlaces - var3);
- }
- }
- }
-
- return var1;
- }
-
- boolean IsMoreThan(CVariable var1) {
- boolean var2 = false;
- if ((var1.m_nFlags & 256) != 0) {
- var2 = this.m_strValue.length() > var1.m_strValue.length();
- } else if ((var1.m_nFlags & 512) != 0) {
- var2 = this.m_dValue > var1.m_dValue;
- } else if ((var1.m_nFlags & 1024) != 0) {
- var2 = this.m_lValue > var1.m_lValue;
- } else if ((var1.m_nFlags & 2048) == 0 && (var1.m_nFlags & 4096) != 0) {
- }
-
- return var2;
- }
-
- String Pad(String var1, int var2) {
- if (var1 != null) {
- for(int var3 = 0; var3 < var2; ++var3) {
- var1 = var1 + "0";
- }
- }
-
- return var1;
- }
-
- int IsStringType() {
- return this.m_nFlags & 256;
- }
-
- int IsDateType() {
- return this.m_nFlags & 2048;
- }
-
- int GetType() {
- short var1 = 0;
- if ((this.m_nFlags & 256) != 0) {
- var1 = 256;
- } else if ((this.m_nFlags & 512) != 0) {
- var1 = 512;
- } else if ((this.m_nFlags & 1024) != 0) {
- var1 = 1024;
- } else if ((this.m_nFlags & 2048) != 0) {
- var1 = 2048;
- } else if ((this.m_nFlags & 4096) != 0) {
- var1 = 4096;
- } else if ((this.m_nFlags & 8192) != 0) {
- var1 = 8192;
- } else if ((this.m_nFlags & 16384) != 0) {
- var1 = 16384;
- }
-
- return var1;
- }
-
- String InsertDateValues(String var1) {
- Date var7 = new Date();
- int var8 = 0;
-
- do {
- int var2;
- String var4;
- String var5;
- String var6;
- for(; (var2 = var1.indexOf(DateSymbols[var8])) != -1; var1 = var5.concat(var4).concat(var6)) {
- var4 = this.GetDateValue(var7, var8);
- int var3 = var1.length();
- if (var2 > 0) {
- var5 = var1.substring(0, var2);
- } else {
- var5 = "";
- }
-
- if (var2 + 2 < var3) {
- var6 = var1.substring(var2 + 2, var3);
- } else {
- var6 = "";
- }
- }
-
- ++var8;
- } while(var8 < 10);
-
- return var1;
- }
-
- String GetTimeSpanFormat(byte var1, String var2) {
- String var3 = "";
- if (var1 == 0) {
- if (var2.length() != 0) {
- var3 = this.InsertDateValues(var2);
- } else {
- var3 = TimeSpanFormats[0];
- }
- } else if (var1 > 0 && var1 < 3) {
- var3 = this.InsertDateValues(TimeSpanFormats[var1]);
- }
-
- return var3;
- }
-
- void Reset() {
- this.m_strValue = "";
- this.m_dValue = (double)0.0F;
- this.m_lValue = 0L;
- this.m_dateValue = new Date();
- this.m_timeSpanValue = new Date();
- }
-
- String GetVariableDataAsString() {
- String var1 = null;
- if (this.m_strName.length() != 0) {
- if (this.IsStringType() != 0) {
- var1 = this.GetStringValue();
- } else if (this.IsNumericType() != 0) {
- var1 = this.GetNumericValueAsString();
- } else if (this.IsIntegerType() != 0) {
- var1 = Long.toString(this.GetIntegerValue());
- } else if (this.IsDateType() != 0) {
- var1 = this.GetDateFormat(this.m_cFormat, this.m_strFormat);
- } else if (this.IsTimeSpanType() != 0) {
- var1 = this.GetTimeSpanFormat(this.m_cFormat, this.m_strFormat);
- }
- }
-
- return var1;
- }
-
- int GetID() {
- return this.m_nID;
- }
-
- CVariable PowerOf(CVariable var1) {
- this.m_nFlags &= -32513;
- if ((var1.m_nFlags & 512) != 0) {
- this.m_nFlags |= 512;
- this.m_dValue = Math.pow(this.m_dValue, var1.m_dValue);
- } else if ((var1.m_nFlags & 1024) != 0) {
- this.m_nFlags |= 1024;
- this.m_lValue = (long)Math.pow((double)this.m_lValue, (double)var1.m_lValue);
- }
-
- return this;
- }
-
- String GetStringValue() {
- return this.m_strValue == null ? "" : this.m_strValue;
- }
-
- int IsProtected() {
- return this.m_nFlags & 1;
- }
-
- String GetDateValue(Date var1, int var2) {
- String var3 = "";
- switch (var2) {
- case 0:
- switch (var1.getDay()) {
- case 0:
- var3 = "Sunday";
- return var3;
- case 1:
- var3 = "Monday";
- return var3;
- case 2:
- var3 = "Tuesday";
- return var3;
- case 3:
- var3 = "Wednesday";
- return var3;
- case 4:
- var3 = "Thursday";
- return var3;
- case 5:
- var3 = "Friday";
- return var3;
- case 6:
- var3 = "Saturday";
- return var3;
- default:
- return var3;
- }
- case 1:
- var3 = Integer.toString(var1.getDate());
- break;
- case 2:
- var3 = Integer.toString(var1.getMonth() + 1);
- break;
- case 3:
- case 4:
- switch (var1.getMonth()) {
- case 0:
- var3 = "January";
- return var3;
- case 1:
- var3 = "February";
- return var3;
- case 2:
- var3 = "March";
- return var3;
- case 3:
- var3 = "April";
- return var3;
- case 4:
- var3 = "May";
- return var3;
- case 5:
- var3 = "June";
- return var3;
- case 6:
- var3 = "July";
- return var3;
- case 7:
- var3 = "August";
- return var3;
- case 8:
- var3 = "September";
- return var3;
- case 9:
- var3 = "October";
- return var3;
- case 10:
- var3 = "November";
- return var3;
- case 11:
- var3 = "December";
- return var3;
- default:
- return var3;
- }
- case 5:
- var3 = Integer.toString(var1.getYear() + 1900);
- break;
- case 6:
- var3 = Integer.toString(var1.getHours());
- case 7:
- default:
- break;
- case 8:
- var3 = Integer.toString(var1.getMinutes());
- break;
- case 9:
- var3 = Integer.toString(var1.getSeconds());
- }
-
- return var3;
- }
-
- boolean MoreOrEqual(CVariable var1) {
- boolean var2 = false;
- if ((var1.m_nFlags & 256) != 0) {
- var2 = this.m_strValue.length() >= var1.m_strValue.length();
- } else if ((var1.m_nFlags & 512) != 0) {
- byte var3 = (byte)Math.max(this.m_cDecPlaces, var1.m_cDecPlaces);
- if (var3 == 0) {
- var3 = 4;
- }
-
- var2 = (long)(this.m_dValue * (double)(10 * var3)) >= (long)(var1.m_dValue * (double)(10 * var3));
- } else if ((var1.m_nFlags & 1024) != 0) {
- var2 = this.m_lValue >= var1.m_lValue;
- } else if ((var1.m_nFlags & 2048) == 0 && (var1.m_nFlags & 4096) != 0) {
- }
-
- return var2;
- }
-
- boolean LessOrEqual(CVariable var1) {
- boolean var2 = false;
- if ((var1.m_nFlags & 256) != 0) {
- var2 = this.m_strValue.length() <= var1.m_strValue.length();
- } else if ((var1.m_nFlags & 512) != 0) {
- byte var3 = (byte)Math.max(this.m_cDecPlaces, var1.m_cDecPlaces);
- if (var3 == 0) {
- var3 = 4;
- }
-
- var2 = (long)(this.m_dValue * (double)(10 * var3)) <= (long)(var1.m_dValue * (double)(10 * var3));
- } else if ((var1.m_nFlags & 1024) != 0) {
- var2 = this.m_lValue <= var1.m_lValue;
- } else if ((var1.m_nFlags & 2048) == 0 && (var1.m_nFlags & 4096) != 0) {
- }
-
- return var2;
- }
-
- boolean NotEqual(CVariable var1) {
- boolean var2 = false;
- if ((var1.m_nFlags & 256) != 0) {
- var2 = !this.m_strValue.equals(var1.m_strValue);
- } else if ((var1.m_nFlags & 512) != 0) {
- byte var3 = (byte)Math.max(this.m_cDecPlaces, var1.m_cDecPlaces);
- if (var3 == 0) {
- var3 = 4;
- }
-
- var2 = (long)(this.m_dValue * (double)(10 * var3)) != (long)(var1.m_dValue * (double)(10 * var3));
- } else if ((var1.m_nFlags & 1024) != 0) {
- var2 = this.m_lValue != var1.m_lValue;
- } else if ((var1.m_nFlags & 2048) != 0) {
- var2 = this.m_dateValue != var1.m_dateValue;
- } else if ((var1.m_nFlags & 4096) != 0) {
- var2 = this.m_timeSpanValue != var1.m_timeSpanValue;
- }
-
- return var2;
- }
-
- void SetType(int var1) {
- this.m_nFlags &= -32513;
- this.m_nFlags |= var1;
- }
- }
-